package org.dromara.system.controller.system;

import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.system.domain.vo.SysSocialVo;
import org.dromara.system.service.ISysSocialService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;


/**
 * @Author 刘武贵
 * @Date 2024/8/15 22:00
 * @Description 功能描述：社会化关系
 */
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/social")
public class SysSocialController extends BaseController {

    /**
     * 社会化关系Service接口
     */
    private final ISysSocialService socialUserService;

    /**
     * 查询社会化关系列表
     * 通过GET请求访问/list路径，返回一个封装了社交账号信息列表的响应对象
     * 该方法委托socialUserService根据用户ID查询社交账号列表，并将结果封装在一个响应对象中返回
     * 使用LoginHelper工具类来获取当前用户的ID，以确保查询的是当前用户关联的社交账号信息
     *
     * @return 包含社交账号信息列表的响应对象
     */
    @GetMapping("/list")
    public R<List<SysSocialVo>> list() {
        return R.ok(socialUserService.queryListByUserId(LoginHelper.getUserId()));
    }

}
